unit ProdIngrediente;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, DBClient, Grids, DBGrids, DBCtrls, StdCtrls,
  ImgList, ActnList, ComCtrls;

type
  TFormProdIngrediente = class(TForm)
    ListView2: TListView;
    ActTotal: TActionList;
    ActionVoltar: TAction;
    ImageList2: TImageList;
    DBLookupTPPedido: TDBLookupComboBox;
    DBGridProdutos: TDBGrid;
    DataSource1: TDataSource;
    DataSource3: TDataSource;
    DataSource2: TDataSource;
    QueryFamilia: TQuery;
    QueryTPPedido: TQuery;
    Label1: TLabel;
    Label2: TLabel;
    DBLookupComboBoxFamilia: TDBLookupComboBox;
    QueryProdutos: TQuery;
    ActionIngrediente: TAction;
    procedure ActionVoltarExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ListView2Click(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBLookupComboBoxFamiliaClick(Sender: TObject);
    procedure DBLookupTPPedidoClick(Sender: TObject);
    procedure ActionIngredienteExecute(Sender: TObject);
  private
    { Private declarations }
    procedure PreparaLista;
  public
    { Public declarations }
  end;

var
  FormProdIngrediente: TFormProdIngrediente;

implementation

uses ListaIngredProdutos;

{$R *.dfm}

procedure TFormProdIngrediente.ActionVoltarExecute(Sender: TObject);
begin
close;
end;

procedure TFormProdIngrediente.FormShow(Sender: TObject);
begin
    QueryTPPedido.Open;
    QueryFamilia.Open;

    DBLookupTPPedido.KeyValue := 1;
    DBLookupComboBoxFamilia.KeyValue := 1;

    PreparaLista;
end;

procedure TFormProdIngrediente.ListView2Click(Sender: TObject);
var List: TListView;
begin
if TListView(Sender).Selected <> nil then
  begin
        List := TlistView(Sender);
        ActTotal.Actions[List.Selected.StateIndex].Execute;
  end;

end;

procedure TFormProdIngrediente.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_ESCAPE then
     self.close;
end;

procedure TFormProdIngrediente.DBLookupComboBoxFamiliaClick(
  Sender: TObject);
begin
    PreparaLista;
end;

procedure TFormProdIngrediente.DBLookupTPPedidoClick(Sender: TObject);
begin
    PreparaLista;
end;


procedure TFormProdIngrediente.PreparaLista;
begin

    QueryProdutos.ParamByName('p_id_familia').AsInteger := DBLookupComboBoxFamilia.KeyValue;
    //QueryProdutos.ParamByName('p_id_tp_pedido').AsInteger := DBLookupTPPedido.KeyValue;

    QueryProdutos.Close;
    QueryProdutos.Open;


end;



procedure TFormProdIngrediente.ActionIngredienteExecute(Sender: TObject);
begin

    if assigned(FormListaIngredProdutos) then
       FormListaIngredProdutos := nil;
    FormListaIngredProdutos := TFormListaIngredProdutos.Create(Self);

    FormListaIngredProdutos.xIdProduto := QueryProdutos.FieldByName('id').asinteger;

    FormListaIngredProdutos.ShowModal;

end;

end.
